home *** CD-ROM | disk | FTP | other *** search
/ Invisible Universe / Invisible Universe (1995)(Voyager)[Mac-PC].iso / mac / MOVIES / SHARED.DIR / 01008_Script_co-only < prev    next >
Text File  |  1995-11-21  |  18KB  |  851 lines

  1. on nextPage
  2.   global gCurrChan
  3.   if isReal(gCurrChan) then go (the frame)+1
  4. end
  5.  
  6. on prevPage
  7.   global gCurrChan
  8.   if isReal(gCurrChan) then go (the frame)-1
  9. end
  10.  
  11.  
  12. on openPopMenu
  13.   global gOpenPopMenu
  14.   
  15.   if gOpenPopMenu then exit
  16.   
  17.   set gOpenPopMenu = 1
  18.   
  19.   --put ">>> openPopMenu"
  20.   
  21.   
  22.   if the machineType = 256 then 
  23.     --
  24.     --
  25.     -- Make sure that the search path is used for this
  26.     -- (works for mac, but not for PC)
  27.     --
  28.     --openXLib "POPMENU.DLL" 
  29.   else 
  30.     --openXLib "PopUp Menu XObj"
  31.     openXLib "HierPopUp.XFCN"
  32.   end if
  33. end openPopMenu
  34.  
  35. -- pop last through nth
  36.  
  37. on popRetraceMenuOLD N
  38.   global gRetraceLabelList -- , gTOCRetraceChan
  39.   global gRetraceCount, gRetraceLabelLongForm
  40.   
  41.   --put ">>>popRetraceMenu"
  42.   
  43.   repeat with i = 1 to N
  44.     if gRetraceCount = 0 then exit
  45.     deleteAt(gRetraceLabelList, gRetraceCount)
  46.     delete line gRetraceCount of gRetraceLabelLongForm
  47.     set gRetraceCount = gRetraceCount - 1
  48.   end repeat  
  49.   
  50.   --set the visibility of sprite gTOCRetraceChan = (gRetraceCount > 0)
  51.   
  52. end popRetraceMenuOld
  53.  
  54. on rotateRetraceMenu
  55.   global gRetraceLabelList -- , gTOCRetraceChan
  56.   global gRetraceCount, gRetraceLabelLongForm
  57.   
  58.   --put ">>>popRetraceMenu"
  59.   
  60.   if gRetraceCount = 0 then exit
  61.   
  62.   set lab = getAt(gRetraceLabelList, gRetraceCount)
  63.   deleteAt(gRetraceLabelList, gRetraceCount)
  64.   addAt(gRetraceLabelList, 1, lab)
  65.   
  66.   set desc = (line gRetraceCount of gRetraceLabelLongForm) & RETURN
  67.   delete line gRetraceCount of gRetraceLabelLongForm
  68.   put desc before line 1 of gRetraceLabelLongForm
  69.   
  70.   --set the visibility of sprite gTOCRetraceChan = (gRetraceCount > 0)
  71.   
  72. end rotateRetraceMenu
  73.  
  74. --
  75. --
  76. -- Just pop a single entry at N
  77. --
  78. on popRetraceMenu N
  79.   global gRetraceLabelList -- , gTOCRetraceChan
  80.   global gRetraceCount, gRetraceLabelLongForm
  81.   
  82.   --put ">>>popRetraceMenu"
  83.   
  84.   if gRetraceCount = 0 then exit
  85.   
  86.   deleteAt(gRetraceLabelList, N)
  87.   delete line N of gRetraceLabelLongForm
  88.   set gRetraceCount = gRetraceCount - 1
  89.   
  90.   
  91.   --set the visibility of sprite gTOCRetraceChan = (gRetraceCount > 0)
  92.   
  93. end popRetraceMenu
  94.  
  95.  
  96. on retrace quickP
  97.   global gRetraceLabelList, gRetraceLabelLongForm, gLabels, gSuppPhoto
  98.   global gRetraceCount, gRetraceInProgress
  99.   
  100.   --put ">>> quickP = " & quickP
  101.   
  102.   if voidP(quickP) then 
  103.     set quickP = 0
  104.   end if  
  105.   
  106.   if gRetraceCount = 0 then 
  107.     beep
  108.     repeat while the mouseDown
  109.     end repeat
  110.     
  111.     exit 
  112.   end if
  113.   
  114.   if not quickP then
  115.     --
  116.     --
  117.     -- Give the user some time to let go of the mouse
  118.     --
  119.     if the mouseDown then
  120.       set t = the ticks + 30
  121.       repeat while the mouseDown and (t > the ticks)
  122.       end repeat
  123.     end if
  124.   end if
  125.   
  126.   if not (the mouseDown) or quickP then
  127.     -- return to the last item
  128.     
  129.     --put ">>>quick jump"
  130.     
  131.     if voidP(gRetraceLabelList) then exit
  132.     if gRetraceCount = 0 then exit
  133.     
  134.     
  135.     --
  136.     --
  137.     -- Treat the CO menu as a special menu... on retrace, skip
  138.     -- an extra level and go back to the TOC
  139.     --
  140.     set lab = the frameLabel
  141.     
  142.     set myLabelName = getAt(gRetraceLabelList, gRetraceCount)
  143.     
  144.     if the movie <> "FIND.DIR" then
  145.       if the frameLabel = "" then
  146.         set same = addToRetrace(gCurLabelProp)
  147.       else
  148.         set same = addToRetrace()
  149.       end if
  150.     end if
  151.     
  152.     
  153.     --put ">>>" & gRetraceLabelList & RETURN & gRetraceLabelLongForm
  154.     
  155.     set gRetraceInProgress = 1
  156.     
  157.     goGo(myLabelName, 1)
  158.     set gRetraceInProgress = 0
  159.     
  160.     --put "about to exit"
  161.     
  162.     exit
  163.   end if
  164.   
  165.   --put ">>>long jump"
  166.   
  167.   
  168.   
  169.   
  170.   -- 
  171.   --
  172.   -- Make a pop up menu
  173.   --
  174.   
  175.   set pmenu = line 1 to count(gRetraceLabelList) of gRetraceLabelLongForm
  176.   
  177.   -- dmd make this work... the PopMenu returns unknown handler
  178.   
  179.   --put ">>> making a popup cast 1008"
  180.   
  181.   if the machineType = 256 then 
  182.     
  183.     set setVis = 0
  184.     
  185.     if the movie = "TOUR.DIR" or the movie = "MOVIES.DIR" then
  186.       if the type of sprite 12 = 16 then
  187.         set setVis = 1
  188.         set the visibility of sprite 12 = 0
  189.       end if
  190.     end if
  191.     
  192.     set n = the number of lines of pMenu
  193.     set n = n * 17    
  194.     set choice = doDMDPopMenu(pmenu, the mouseH-30, 440-n, 0)
  195.     
  196.     if setVis then
  197.       set the visibility of sprite 12 = 1
  198.     end if
  199.     
  200.     --put ">>> choice is " choice    
  201.     
  202.   else
  203.     --put ">>> (1008) popup menu of: " & pmenu
  204.     set n = the number of lines of pMenu
  205.     set n = n * 15
  206.     
  207.     set choice = HPopUpMenu(pmenu, 0, 440-n, the mouseH-30)
  208.     
  209.     --put ">>> popup choice = " & quote & choice & quote && stringP(choice) && integerP(choice)
  210.     if choice = 0 then exit
  211.     
  212.     set choice = integer(item 3 of choice)
  213.     --put ">>> popup choice = " & quote & choice & quote && stringP(choice) && integerP(choice)
  214.     
  215.   end if
  216.   
  217.   if choice = 0 then exit
  218.   
  219.   set myLabelName = getAt(gRetraceLabelList, choice)
  220.   
  221.   --put ">>> label = " & myLabelName 
  222.   
  223.   
  224.   if the frameLabel = "" then
  225.     addToRetrace gCurLabelProp
  226.   else
  227.     addToRetrace
  228.   end if
  229.   
  230.   
  231.   --put ">>>" & gRetraceLabelList & RETURN & gRetraceLabelLongForm
  232.   
  233.   
  234.   set gRetraceInProgress = 1
  235.   
  236.   goGo(myLabelName, 1)
  237.   set gRetraceInProgress = 0
  238. end
  239.  
  240. on doContents quickP
  241.   
  242.   
  243.   --put ">>> quickP = " & quickP
  244.   
  245.   if voidP(quickP) then 
  246.     set quickP = 0
  247.   end if
  248.   
  249.   
  250.   if not quickP then
  251.     --
  252.     --
  253.     -- Give the user some time to let go of the mouse
  254.     --
  255.     if the mouseDown then
  256.       set t = the ticks + 30
  257.       repeat while the mouseDown and (t > the ticks)
  258.       end repeat
  259.     end if
  260.   end if
  261.   
  262.   if not (the mouseDown) or quickP then
  263.     -- return to the last item
  264.     
  265.     --put ">>>quick contents"
  266.     
  267.     global gCurLabelProp
  268.     
  269.     if the movie = "POETRY.DIR" then stopPoem
  270.     
  271.     if the frameLabel = "" then
  272.       addToRetrace gCurLabelProp
  273.     else
  274.       addToRetrace
  275.     end if
  276.     
  277.     --dmd141195 DoGo "TOC", "TOC.DIR"
  278.     GoGo("TOCM")
  279.     
  280.     -- put ">>>about to exit"
  281.     
  282.     exit
  283.   end if
  284.   
  285.   --put ">>>long jump"
  286.   
  287.   
  288.   
  289.   
  290.   -- 
  291.   --
  292.   -- Make a pop up menu
  293.   --
  294.   
  295.   set pmenu = field "Contents PopUp"
  296.   
  297.   --put ">>> making a popup cast 1008"
  298.   
  299.   if the machineType = 256 then 
  300.     --    set myPopup = PopMenu(mNew,pmenu,623)
  301.     --    myPopUp(mSetItemMark,0)
  302.     
  303.     --put myPopup
  304.     
  305.     --    repeat while the mouseDown
  306.     
  307.     set n = the number of lines of pMenu
  308.     set n = n * 17    
  309.     --    set choice = myPopup(mPopNum, the mouseH-30, 440-n, 0)
  310.     
  311.     if the movie = "TOUR.DIR" or the movie = "MOVIES.DIR" then
  312.       if the type of sprite 12 = 16 then
  313.         set setVis = 1
  314.         set the visibility of sprite 12 = 0
  315.       end if
  316.     end if
  317.     
  318.     set choice = doDMDPopMenu(pmenu, the mouseH-30, 440-n, 0)
  319.     
  320.     if setVis then
  321.       set the visibility of sprite 12 = 1
  322.     end if
  323.     
  324.     
  325.     --put ">>> Choice is: " & choice
  326.     
  327.     --    end repeat
  328.     
  329.     --myPopup(mDispose)
  330.     
  331.   else
  332.     --put ">>> (1008) popup menu of: " & pmenu
  333.     set n = the number of lines of pMenu
  334.     set n = n * 14
  335.     
  336.     set choice = HPopUpMenu(pmenu, 0, 440-n, the mouseH-30)
  337.     
  338.     --put ">>> popup choice = " & quote & choice & quote && stringP(choice) && integerP(choice)
  339.     if choice = 0 then exit
  340.     set choice = integer(item 3 of choice)
  341.     --put ">>> popup choice = " & quote & choice & quote && stringP(choice) && integerP(choice)
  342.     
  343.   end if
  344.   
  345.   if choice = 0 then exit
  346.   
  347.   set command = line choice of field "Contents Popup Commands"
  348.   
  349.   --put ">>> contents popup is doing:" & command
  350.   do command
  351.   
  352. end
  353.  
  354.  
  355. on DoGo myLabelName, myMovieName
  356.   
  357.   global gCurHist, gCurData, gCom, gNavPalette
  358.   global gTOCRetraceChan, gRetraceCount
  359.   
  360.   --put ">>>dogo " & myLabelName && myMovieName && " from " && the movieName
  361.   
  362.   if gCurHist=0 then unGrayHist
  363.   if gCurData=0 then unGrayData
  364.   
  365.   --  if gCom then moveToBack gNavPalette
  366.   if gCom then tell gNavPalette to lCloseNavPalette(1)
  367.   updateStage
  368.   
  369.   --put ">>>contents, at label: " &  the frameLabel & " goto : " & myMovieName && myLabelName
  370.   
  371.   if gCom then go to objectLabel()
  372.   
  373.   --put ">>> going to black frame from DoGo in 1008"
  374.   
  375.   --puppetTransition 50, 20, 8, 0
  376.   --puppetTransition 50, 20, 8, 1
  377.   
  378.   go to label ("Black Frame")
  379.   
  380.   set the visibility of sprite gTOCRetraceChan = (gRetraceCount > 0)
  381.   
  382.   --put ">>> retrace button is: " & (gRetraceCount > 0)
  383.   
  384.   if char 1 of myMovieName = "O" then
  385.     alert "Internal error 1008-435"
  386.     exit
  387.   else    
  388.     --puppetTransition 50, 20, 8, 0
  389.     --puppetTransition 50, 20, 8, 1
  390.     
  391.     if myMovieName = the movieName then
  392.       go to frame myLabelName
  393.     else 
  394.       hideButtons
  395.       updateSTage
  396.       
  397.       go to frame myLabelName of movie myMovieName
  398.     end if
  399.     
  400.   end if
  401.   
  402. end DoGo
  403.  
  404.  
  405. on goTour
  406.   global gTourLabel, gTourTimeSS, gTourTimeMW, gTourTimeCL
  407.   
  408.   global gCurLabelProp, gLabels
  409.   
  410.   set mainLabel = getMainView(string(gCurLabelProp))
  411.   
  412.   set mainList = getAProp(gLabels, mainLabel)
  413.   
  414.   set tourList = getProp(getAt(mainList, 3), #TOUR)
  415.   
  416.   set gTourLabel = getAt(tourList, 1) & "S"  
  417.   
  418.   do "set gTourTime" & getAt(TourList,1) & " = " & getAt(tourList, 2)
  419.   
  420.   goGo(gTourLabel)
  421. end
  422.  
  423. on getMainView label
  424.   global gNonVisibleSingles
  425.   
  426.   if ((char 5 of label = "V") or (getOne(gNonVisibleSingles, char 1 to 5 of label) > 0)) then
  427.     return char 1 to 5 of label
  428.   else
  429.     return (char 1 to 4 of label) & "V"
  430.   end if
  431. end getMainView
  432.  
  433.  
  434.  
  435. on prevCo
  436.   global  gCurLabelProp, gO, gNonVisibleSingles, gPrevNextCo
  437.   
  438.   set itemIndex = getPos(gO, getaprop(gO, gCurLabelProp))   
  439.   
  440.   --put ">>> item: " & gCurLabelProp & " is at position: " & itemIndex
  441.   
  442.   if itemIndex <= 0 then exit
  443.   
  444.   set oldItem = string(gCurLabelProp)
  445.   
  446.   repeat while 1
  447.     
  448.     set itemIndex = itemIndex - 1
  449.     
  450.     if itemIndex = 0 then set itemIndex = count(gO)
  451.     
  452.     set newProp = string(getPropAt(gO, itemIndex))
  453.     --put ">>>The new prop (screen) is: " & newProp
  454.     
  455.     
  456.     if ((char 5 of newProp = "V") or (getOne(gNonVisibleSingles, newProp) > 0)) and ¼
  457. char 1 to 4 of newProp <> char 1 to 4 of oldItem and ¼
  458. (the number of chars in newProp <= 5) then ¼
  459. exit repeat 
  460.     
  461.     
  462.   end repeat
  463.   
  464.   --put ">>> Going to here: " & getPropAt(gO, itemIndex)
  465.   
  466.   set gPrevNextCo = 1
  467.   goGo(getPropAt(gO, itemIndex))  
  468.   set gPrevNextCo = 0
  469.   
  470. end
  471.  
  472. on nextCo
  473.   global  gCurLabelProp, gO, gNonVisibleSingles, gPrevNextCo
  474.   
  475.   set itemIndex = getPos(gO, getaprop(gO, gCurLabelProp))   
  476.   
  477.   --put ">>> item: " & gCurLabelProp & " is at position: " & itemIndex
  478.   
  479.   if itemIndex <= 0 then exit
  480.   
  481.   set oldItem = string(gCurLabelProp)
  482.   
  483.   set listSize = count(gO)
  484.   
  485.   repeat while 1
  486.     
  487.     if itemIndex = listSize  then 
  488.       set itemIndex = 1
  489.     else
  490.       set itemIndex = itemIndex + 1
  491.     end if
  492.     
  493.     set newProp = string(getPropAt(gO, itemIndex))
  494.     --put ">>>The new prop (screen) is: " & newProp
  495.     
  496.     if ((char 5 of newProp = "V") or (getOne(gNonVisibleSingles, newProp) > 0)) and ¼
  497. char 1 to 4 of newProp <> char 1 to 4 of oldItem and ¼
  498. (the number of chars in newProp <= 5) then ¼
  499. exit repeat 
  500.     
  501.   end repeat
  502.   
  503.   --put ">>> Going to here: " & getPropAt(gO, itemIndex)
  504.   
  505.   set gPrevNextCo = 1
  506.   goGo(getPropAt(gO, itemIndex)) 
  507.   set gPrevNextCo = 0
  508.   
  509. end
  510.  
  511.  
  512. on infoToggle
  513.   if the visibility of sprite 6 = 1 then
  514.     infoClose
  515.   else
  516.     hideHotSpots 
  517.     infoOpen
  518.   end if
  519. end
  520.  
  521. --
  522. --
  523. -- DMD: Yes, these constants are troubling, but have no time now to correct
  524. -- the problem and lack of structure here, will just hack more and get by for now.
  525. -- Sorry. (Chuck left some GREAT stuff and some okay stuff)
  526. --
  527. on infoOpen
  528.   global gCom, gInfoVis
  529.   
  530.   set gInfoVis = 1
  531.   
  532.   repeat with i = 6 to 10
  533.     set the visible of sprite i to true
  534.   end repeat
  535.   repeat with i = 26 to 29
  536.     set the visible of sprite i to true
  537.   end repeat
  538.   
  539.   --  set the visible of sprite 30 = not(gCOM) or the castNum of sprite 7 > 0
  540.   
  541.   --  --put ">>>sprite 30 is visible?" && the visibility of sprite 30
  542.   
  543.   goMainView
  544.   
  545. end
  546.  
  547. on toggleName
  548.   set the visibility of sprite 5 = not the visibility of sprite 5
  549. end toggleName
  550.  
  551. on showName
  552.   set the visibility of sprite 5 = 1
  553. end showName
  554.  
  555. on hideName
  556.   set the visibility of sprite 5 = 0
  557. end hideName
  558.  
  559. on infoCloseButton
  560.   --global gSuppPhoto
  561.   
  562.   --if gSuppPhoto then hideName
  563.   infoClose
  564.   
  565. end infoCloseButton
  566.  
  567. on infoClose
  568.   global gInfoVis
  569.   if the visibility of sprite 6 = 0 then
  570.     set gInfoVis = 0
  571.   else
  572.     set gInfoVis = 0
  573.     repeat with i = 6 to 10
  574.       set the visible of sprite i to false
  575.     end repeat
  576.     repeat with i = 26 to 30
  577.       set the visible of sprite i to false
  578.     end repeat
  579.   end if
  580. end
  581.  
  582. on infoDesc
  583.   cursor 4
  584.   goMainView
  585.   cursor -1
  586. end
  587.  
  588.  
  589. on GrayHistData
  590.   --  puppetSprite 28, 1 
  591.   --  puppetSprite 29, 1
  592.   --  set the ink of sprite 28 = 34
  593.   --  set the ink of sprite 29 = 34
  594. end
  595.  
  596.  
  597. on GrayHist
  598.   puppetSprite 28, 1 
  599.   set the castNum of sprite 28 = 1087
  600. end
  601.  
  602. on GrayData
  603.   puppetSprite 29, 1 
  604.   set the castNum of sprite 29 = 1090
  605. end
  606.  
  607. on UnGrayHist
  608.   global gCurHist
  609.   
  610.   set gCurHist = -1
  611.   puppetSprite 28,0
  612. end
  613.  
  614. on UnGrayData
  615.   global gCurData
  616.   
  617.   set gCurData = -1
  618.   
  619.   puppetSprite 29,0
  620. end
  621.  
  622. -- 
  623. --
  624. -- To be called from the first frame of a section (the label + 1)
  625. --
  626. on setupHistandDataEtc
  627.   global gCurHist, gCurData, gTSLabels, gTSEnabled
  628.   
  629.   --put ">>> setupHistandDataEtc frame =" && the frame
  630.   
  631.   set gTSLabels = [:]
  632.   set gTSEnabled = 0
  633.   set the mouseDownScript to empty
  634.   
  635.   --
  636.   --
  637.   -- If Channel 7 is empty then hide channel 30, it's cover button
  638.   --
  639.   --  set the visibility of sprite 30 = ¼
  640. the castnum of sprite 7 > 0 and the visibility of sprite 7
  641.   
  642.   
  643.   set lab = objectLabel() 
  644.   
  645.   if (label(lab)+1) <> the frame then    
  646.     set gCurHist = 0
  647.     set gCurData = 0
  648.     GrayHistData 
  649.     exit
  650.   end if  
  651.   
  652.   
  653.   --
  654.   --
  655.   -- Find the main label in the label list
  656.   --
  657.   set off = offset(lab, the labelList)
  658.   
  659.   if off = 0 then
  660.     set gCurHist = 0
  661.     set gCurData = 0
  662.     GrayHistData
  663.     exit
  664.   end if  
  665.   
  666.   set off = off + length(lab) + 1
  667.   set markerOffset = 1
  668.   
  669.   --put ">>> chars: " & char off to (off+1) of the labelList 
  670.   
  671.   --
  672.   --
  673.   -- Find the History (H) label
  674.   --
  675.   
  676.   if char off to (off+1) of the labelList = "H" & RETURN then
  677.     UnGrayHist 
  678.     set gCurHist = marker(markerOffset)
  679.     set markerOffset = markerOffset + 1
  680.     set off = off + 2
  681.   else
  682.     GrayHist
  683.     set gCurHist = 0
  684.   end if
  685.   
  686.   
  687.   -- --put ">>> chars: " & char off to (off+1) of the labelList 
  688.   
  689.   
  690.   --
  691.   --
  692.   -- Find the Data (D) label
  693.   --
  694.   if char off to (off+1) of the labelList = "D" & RETURN then
  695.     unGrayData 
  696.     set gCurData = marker(markerOffset)
  697.     set markerOffset = markerOffset + 1
  698.     set off = off + 2  
  699.   else
  700.     GrayData
  701.     set gCurData = 0
  702.   end if
  703.   
  704.   
  705.   --
  706.   --
  707.   -- Find any TS labels... (TSx)
  708.   --
  709.   
  710.   repeat with i = 1 to 11
  711.     --put ">>>" & char off to (off+1) of the labelList
  712.     if char off to (off+1) of the labelList = "TS" then
  713.       setAProp gTSLabels, i, marker(markerOffset)
  714.       set markerOffset = markerOffset + 1
  715.       set off = off + 4
  716.     else
  717.       exit repeat
  718.     end if    
  719.   end repeat
  720. end
  721.  
  722.  
  723. --
  724. --
  725. -- Check the next label in the label list, if H, then go there.
  726. --
  727. on infoHist
  728.   global gCurHist
  729.   if gCurHist <= 0 then
  730.     beep
  731.   else
  732.     cursor 4 
  733.     go to gCurHist
  734.     cursor -1   
  735.   end if
  736. end
  737.  
  738. --
  739. --
  740. -- Similar to infoHist.
  741. --
  742. on infoData
  743.   global gCurData
  744.   
  745.   if gCurData <= 0 then
  746.     beep
  747.   else
  748.     cursor 4
  749.     go to gCurData
  750.     cursor -1
  751.   end if
  752. end
  753.  
  754. on closeUp whichOne
  755.   if voidP(whichOne) then put empty into whichOne
  756.   set the mouseUpScript to "myReturn"&&(the frame)
  757.   put label(objectLabel()&"C"&string(WhichOne)) into whereTo
  758.   go frame label(whereTo)
  759.   puppetPalette "Black",30,(the frame)
  760.   repeat while not(the mouseDown)
  761.   end repeat
  762. end
  763.  
  764. on hotSpot whichOne
  765.   set the mouseUpScript to "myReturn"&&(the frame)
  766.   go frame label("TS"&string(WhichOne))
  767. end
  768.  
  769. on goMainView
  770.   set the mouseUpScript to ""
  771.   go frame label(objectLabel())+1
  772. end goMainView
  773.  
  774. on objectLabel
  775.   if the castNum of sprite 1 = 0 then 
  776.     set it = the frameLabel
  777.   else 
  778.     put the name of cast(the castnum of sprite 1) into it
  779.     put char 1 to offset(".",it)-1 of it into it  
  780.   end if
  781.   
  782.   return it
  783. end objectLabel
  784.  
  785. on myReturn toWhere
  786.   go frame toWhere
  787.   set the mouseUpScript to ""
  788. end myReturn
  789.  
  790. on scrolpe s
  791.   global gHotSpotList, gTSLabels
  792.   if the movie = "OCOMETS.DIR" and the frame = 35 and s = 14 then
  793.     global gNavPalette, gNavOffScreen  
  794.     
  795.     if not gNavOffScreen then tell gNavPalette to lCloseNavPalette(1)
  796.     
  797.     hideButtons
  798.     hideHotSpots
  799.     infoClose
  800.     go to label("SIMPIC")
  801.     set the movierate of sprite 33 = 1
  802.     startTimer
  803.     exit
  804.   end if
  805.   
  806.   --put "clicked sprite = " & s
  807.   
  808.   set i = getAProp(gHotSpotList, s)
  809.   
  810.   if voidP(i) then 
  811.     beep
  812.     exit
  813.   end if
  814.   
  815.   if i < 0 then
  816.     -- text
  817.     set f = getAProp(gTSLabels, -i)
  818.     go to frame f    
  819.   else
  820.     -- close up
  821.     set lab = objectLabel() & "C"
  822.     if i > 1 then set lab = lab & string(i)
  823.     goGo(lab)
  824.   end if
  825.   
  826. end scrolpe
  827.  
  828. on DrFiorellaTerenzi
  829.   global gHelpMovie, gCom, gNavPalette, gTSEnabled
  830.   
  831.   if gCom then 
  832.     infoClose
  833.     hideButtons
  834.     hideHotSpots
  835.     
  836.     if gTSEnabled then
  837.       set gTSEnabled = 0
  838.       goMainView
  839.     end if
  840.     
  841.     tell gNavPalette to lCloseNavPalette(1)  
  842.   end if
  843.   
  844.   --  puppetSprite 48,0
  845.   --  updateStage
  846.   
  847.   set gHelpMovie = the castNum of sprite 48
  848.   
  849.   playhelp
  850. end DrFiorellaTerenzi
  851.